1. Field of the Invention
The present invention pertains to data bus systems for transmitting digital information between a plurality of interconnected and serially arranged terminals, and more particularly it pertains to data buses of the active type wherein each terminal receives data from a data source or from another terminal and transmits or retransmits the data to a different terminal in the system.
2. Description of the Prior Art
Conventional data distribution systems are characterized by system construction wherein all data sources and all data sinks are directly wired to a central processing unit, or wherein switchboards function to distribute messages from and to the appropriate data sources and data sinks. The conventional data distribution systems require enormous amounts of cabling stretched over long distances and are therefore costly to install, difficult to repair, and inflexible to change.
There are two basic types of data buses in use in large scale distribution systems at the present time, namely passive buses and active buses. The more typical passive bus systems employ transmitters, or drivers, and receivers that couple passively to a transmission line. An active bus, on the other hand, employs active terminals. Each terminal receives data from another terminal in the system and then retransmits the data or transmits new data to a third terminal in the system. Each unidirectional link between terminals in an active bus system therefore comprises a complete transmission element, whereas in the passive data bus systems, the entire length of transmission line comprises a single bidirectional transmission element. As a consequence of this fundamental difference, a passive data bus system is more vulnerable to reflections than is an active data bus system. Indeed, a passive bus can become totally disabled by a single break in the transmission line causing reflections to propagate throughout the entire system.
Active data bus systems are most commonly arranged in a closed loop or ring structure. With such a structure, a terminal that is not introducing fresh data into the loop will serve to relay its received data to the next adjacent terminal downstream. If all fresh data is to be allowed to traverse the entire loop, only one terminal at a time can be permitted to introduce fresh data--while all other terminals cooperatively serve as relay terminals. Therefore, in a system wherein more than one terminal may be capable of introducing fresh data, traffic control means must be employed to coordinate the actions of the various terminals in order to ensure that no two terminals attempt to introduce fresh data simultaneously.
Prior art solutions to this problem of traffic control have followed two different approaches. These two traffic control techniques may be termed synchronous traffic control and asynchronous traffic control. Synchronous traffic control employs a traffic "controller" which periodically originates a transmission to serve as a timing reference. Upon reception of this transmission, an individual terminal will initialize timing means which permit the terminal to identify particular "time slots" during which it may introduce fresh data into the loop. At all times other than its assigned time slots, a terminal will relay data received from its nearest upstream neighbor to its nearest downstream neighbor. By programming the timing means differently at the different terminals, one can ensure that no more than one terminal will introduce fresh data into the loop at any given time. With synchronous traffic control, a terminal's ability to introduce fresh data will thus arise periodically in synchronism with the transmissions issued by the system traffic controller. An example of such synchronous traffic control may be found in copending U.S. patent application Ser. No. 045,799 filed June 5, 1979.
Asynchronous traffic control permits a terminal to transmit at random times provided that its transmission does not interfere with data introduced by another terminal. It is an inherent characteristic of asynchronous control that a terminal desiring to introduce data when the system is "busy" will wait until the system is "free". There are at least three prior art techniques presently being employed to accomplish this end.
One asynchronous control technique utilizes a traffic controller to poll the various terminals for potential bus traffic and to grant bus access sequentially on the basis of need and/or priority. A second technique, known as CSMA control ("carrier sense, multiple access") relies on each terminal's ability to listen to the system and to not attempt to introduce data when the system is in use. In the occasional instance when two terminals "collide", i.e., attempt to access the bus simultaneously, the CSMA technique provides that the colliding terminals both cease transmission for random time periods and then try again.
A third asynchronous control technique utilizes a system availability signal known as a "token" or "access window" to convey transmission permission from terminal to terminal around the loop. An example of such an asynchronous traffic control technique may be found in copending U.S. patent application Ser. No. 302,939 filed Sept. 16, 1981.
Digital data may be classified as being either periodic or aperiodic. Periodic data is data which arises at regularly spaced time intervals while aperiodic data is data arising at random times. A common example of the former is a sequence of digital representations of an analog or synchro signal that is being sampled at regular intervals. A common example of aperiodic data is the data arising at the output of a digital computer or of a computer peripheral device such as a CRT terminal or magnetic tape unit.
Either type of data, periodic or aperiodic, may be communicated on a data bus employing either method of traffic control, synchronous or asynchronous. However, if sources of periodic data can be synchronized to the bus so that their data periods coincide with the time-slot periods of the terminals which introduce their data to the bus, synchronous control will be highly advantageous. In particular, it will provide precise timing accuracy of the received data as well as permit very efficient utilization of available bus time. When synchronous control is used for communicating aperiodic data, however, time-slots must be assigned to terminals on the basis of statistical worst-case data load. This requirement invariably results in inefficient use of bus time since many time slots will be transmitted "empty" under average loading conditions.
Asynchronous traffic control, on the other hand, permits much better utilization of bus time for communication of aperiodic data. With periodic data, however, the unpredictable time spend waiting for the bus to be "free" introduces a random error known as "jitter" into the arrival times of the data. The severity of this timing error increases as the bus loading increases and can seriously degrade a reconstructed analog or synchro signal synthesized from digital samples that have been communicated over an asynchronously controlled data bus.
Although prior art data buses have employed one or the other of the two traffic control techniques described above, it is clear that neither technique is ideally suited to controlling a bus in which the communicated data may include both periodic and aperiodic types.